package com.spsoft.vatoutinv.model.vo.vmstransactionflowinvoice;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.spsoft.vatoutinv.annotation.Translate;
import com.spsoft.vatoutinv.constants.DictConstant;
import com.spsoft.vatoutinv.constants.TranslateConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author wangy
 * @date 2024/7/3 14:19
 */
@Data
@ApiModel(value = "流水开票-拆分/合并流水信息")
public class VmsFlowInvoiceDetailVo {

    @ApiModelProperty(value = "主键")
    private Long rdid;

    @ApiModelProperty(value = "关联表主键")
    private Long selfId;

    @ApiModelProperty(value = "交易号")
    private String jyls;

    @ApiModelProperty(value = "交易日期")
    @Translate(type = TranslateConstant.DATE)
    private Date jyrq;

    @ApiModelProperty(value = "业务编号")
    private String ywbh;

    @ApiModelProperty(value = "获票人名称")
    private String kfhm;

    @ApiModelProperty(value = "投保单号")
    private String tbdh;

    @ApiModelProperty("人民币交易金额")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal jyje;

    @ApiModelProperty("税率")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal sysl;

    @ApiModelProperty("税额")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal xxse;

    @ApiModelProperty("不含税金额")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal bhsje;

    @ApiModelProperty("交易机构")
    private String deptName;

    @ApiModelProperty("开票状态")
    @Translate(type = TranslateConstant.DICT, value = DictConstant.VAT_0002)
    private String lszt;

    @ApiModelProperty("拆分合并状态")
    private String cfhbzt;
}
